CREATE TABLE [dbo].[UD_WindowHeader]
(
[APPLICATION] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_UD_WindowHeader_APPLICATION] DEFAULT (''),
[WINDOW_NAME] [varchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_UD_WindowHeader_WINDOW_NAME] DEFAULT (''),
[ACCESS_KEYWORDS] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_UD_WindowHeader_ACCESS_KEYWORDS] DEFAULT (''),
[SEQ] [tinyint] NOT NULL CONSTRAINT [DF_UD_WindowHeader_SEQ] DEFAULT ((0)),
[TITLE] [varchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_UD_WindowHeader_TITLE] DEFAULT (''),
[TABLE_NAME] [varchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_UD_WindowHeader_TABLE_NAME] DEFAULT (''),
[AUTO_CREATE] [bit] NOT NULL CONSTRAINT [DF_UD_WindowHeader_AUTO_CREATE] DEFAULT ((0)),
[WINDOW_HEIGHT] [int] NOT NULL CONSTRAINT [DF_UD_WindowHeader_WINDOW_HEIGHT] DEFAULT ((0)),
[WINDOW_WIDTH] [int] NOT NULL CONSTRAINT [DF_UD_WindowHeader_WINDOW_WIDTH] DEFAULT ((0)),
[USE_VERTICAL_SCROLL] [bit] NOT NULL CONSTRAINT [DF_UD_WindowHeader_USE_VERTICAL_SCROLL] DEFAULT ((0)),
[NUM_OF_COLUMNS] [int] NOT NULL CONSTRAINT [DF_UD_WindowHeader_NUM_OF_COLUMNS] DEFAULT ((0)),
[TIME_STAMP] [timestamp] NULL
) ON [PRIMARY]
GO
CREATE TRIGGER [dbo].[asi_UD_WindowHeader_Delete]
ON [dbo].[UD_WindowHeader]
FOR DELETE
AS
BEGIN
DELETE Security_Tables
FROM Security_Tables,deleted
WHERE UPPER(Security_Tables.TABLE_NAME) = UPPER(REPLACE(REPLACE(deleted.WINDOW_NAME, '-', '_'), ' ', '_'))
DELETE Security_Filters
FROM Security_Filters,deleted
WHERE UPPER(Security_Filters.TABLE_NAME) = UPPER(REPLACE(REPLACE(deleted.WINDOW_NAME, '-', '_'), ' ', '_'))
END
GO
CREATE TRIGGER [dbo].[asi_UD_WindowHeader_Insert]
ON [dbo].[UD_WindowHeader]
FOR INSERT
AS
BEGIN
INSERT Security_Tables(TABLE_NAME,MENU_NAME)
SELECT UPPER(REPLACE(REPLACE(WINDOW_NAME, '-', '_'), ' ', '_')), UPPER(WINDOW_NAME)
FROM inserted
INSERT Security_Filters (SECURITY_GROUP, SECURITY_MODE, TABLE_NAME)
SELECT sg.SECURITY_GROUP,'Browse', UPPER(REPLACE(REPLACE(i.WINDOW_NAME, '-', '_'), ' ', '_'))
FROM inserted i, Security_Groups sg
INSERT Security_Filters(SECURITY_GROUP, SECURITY_MODE, TABLE_NAME)
SELECT sg.SECURITY_GROUP,'Delete', UPPER(REPLACE(REPLACE(i.WINDOW_NAME, '-', '_'), ' ', '_'))
FROM inserted i, Security_Groups sg
INSERT Security_Filters(SECURITY_GROUP, SECURITY_MODE, TABLE_NAME)
SELECT sg.SECURITY_GROUP,'Edit', UPPER(REPLACE(REPLACE(i.WINDOW_NAME, '-', '_'), ' ', '_'))
FROM inserted i, Security_Groups sg
INSERT Security_Filters(SECURITY_GROUP, SECURITY_MODE, TABLE_NAME)
SELECT sg.SECURITY_GROUP,'Insert', UPPER(REPLACE(REPLACE(i.WINDOW_NAME, '-', '_'), ' ', '_'))
FROM inserted i, Security_Groups sg
INSERT Security_Filters(SECURITY_GROUP, SECURITY_MODE, TABLE_NAME)
SELECT sg.SECURITY_GROUP,'Search', UPPER(REPLACE(REPLACE(i.WINDOW_NAME, '-', '_'), ' ', '_'))
FROM inserted i, Security_Groups sg
UPDATE Security_Filters
SET TABLE_ACCESSIBLE = 1
FROM Security_Filters,inserted
WHERE Security_Filters.SECURITY_GROUP = 'Administrator' AND
Security_Filters.TABLE_NAME = UPPER(REPLACE(REPLACE(inserted.WINDOW_NAME, '-', '_'), ' ', '_'))
END
GO
ALTER TABLE [dbo].[UD_WindowHeader] ADD CONSTRAINT [PK_UD_WindowHeader] PRIMARY KEY NONCLUSTERED ([WINDOW_NAME]) ON [PRIMARY]
GO
CREATE CLUSTERED INDEX [iUD_WindowHeaderAPPLICATION] ON [dbo].[UD_WindowHeader] ([APPLICATION]) ON [PRIMARY]
GO
GRANT REFERENCES ON [dbo].[UD_WindowHeader] TO [IMIS]
GRANT SELECT ON [dbo].[UD_WindowHeader] TO [IMIS]
GRANT INSERT ON [dbo].[UD_WindowHeader] TO [IMIS]
GRANT DELETE ON [dbo].[UD_WindowHeader] TO [IMIS]
GRANT UPDATE ON [dbo].[UD_WindowHeader] TO [IMIS]
GO